const state = {
	findAllList:[],
	currentPcikUpArea:"",//当前选择的城市
	leaderAddressVo:{}//当前提货点
}
const getters = {
	// 判断当前提货点的选中状态
	checkIsCurrent(state,payload){
		return function(id){
			if(state.leaderAddressVo){
				// 如果提货点选择了 返回提货点和当前选中的id判断
				//其实就是排他操作
				return state.leaderAddressVo.leaderId === id
			}else{
				return false
			}
		}
	}
}
const mutations = {
	getSysRegionFindAllListMutation(state,payload){
		state.findAllList = payload
	},
	// 修改当前的提货点所在的区域
	changeCurrentPickUpAreaMutation(state, payload) {
	    state.currentPickUpArea = payload[0].regionName;
	},
	// 设置当前提货点
	changeLeaderAddressVoMution(state,payload){
		state.leaderAddressVo = payload
	},
	// 重置当前的提货点所在的区域
	setCurrentPickUpAreaMutation(state,payload){
		// console.log(payload);
		state.currentPcikUpArea = payload.regionName 
	}
	
}
const actions  = {
	//获取所有的提货点列表
	async getSysRegionFindAllListAction({commit}){
		let res = await this._vm.$u.api.getSysRegionFindAllList()
		// console.log(res);
		//获取所有提货点所在的城市列表
		await commit("getSysRegionFindAllListMutation",res)
		//修改当前的被选中的城市
		await commit("changeCurrentPickUpAreaMutation",res)
	},
	//修改本仓库的当前提货点信息
	async changeLeaderAddressVoAction({commit},payload){
		commit("changeLeaderAddressVoMution",payload)
	},
	//根据提货点的选择，设置首页的提货点
	async selectLeaderAddressVoAction({commit,dispatch},payload){
		//根据id选择提货点 这里res即使成功也会返回null(跟后端有关系)所以需要触发一下index模块的相关操作
		// 注意一点这里的接口请求传递的是对象
		let res = await this._vm.$u.api.getSelectLeader(payload)
		 dispatch( 'indexModule/getHomeIndexAction',{},{root:true})
	}
}
export default {
	namespaced:true,
	state,
	getters,
	mutations,
	actions
}